Mobile terminals today typically have the capability to create a connection to a network; e.g. a mobile terminal (such as a mobile phone) can create a speech call, a circuit-switched data call or a packet data connection. A mobile terminal may support all or only some of these connections types. Even if all connection types are supported, the ability at any particular time to use the different connection types depends on the state of the mobile terminal at the time; i.e. the ability to use a certain connection type depends on the existence of the other possible connections. For example, a GSM (Global System for Mobile communication) GPRS (General Packet Radio Service) Class B phone cannot create a new packet data connection while a speech call is active.
Different cellular network systems support different combinations of concurrently active network connections. For example, a GSM network may provide different types of network connections than a WCDMA (Wideband Code Division Multiple Access) network, and so a mobile terminal when connected to a GSM network can have different types of concurrent network connections than when connected to a WCDMA network. Also, a mobile terminal may support intersystem handover functionality between different networks, and so a mobile terminal may use a GSM network at one time, and a WCDMA network (or a CDMA2000 network) at another time, and the available network resources may therefore change dynamically, i.e. even during a connection. The term network resource as used here indicates generally connections via an operator network, and also indicates any software or hardware associated with such connections.
In addition, a given cellular network system may support multiple concurrent packet-switched data connections. In case of a network according to 3GPP (Third Generation Partnership Program), the maximum number of network connections available to a mobile in communication via a cellular network system is limited by 3GPP specifications, by the mobile terminal, by the network vendor (by selecting which optional items from the specification to implement), and also by the operator (in selecting the network configuration). Multiple network connections are required to enable concurrent access to multiple networks (e.g. to access an intranet and to access the Internet), and also to support different levels of quality of service for different network connections. The support for multiple concurrent packet-switched data connections may also vary in different cellular network systems even within a single operator's (multi-cellular system) network; for example, there could be support for two connections in GSM, but only one in WCDMA.
Mobile terminals host a set of applications that use network connections. The types and number of applications vary by the mobile terminal vendor and by the mobile terminal model; for example, a mobile terminal can have traditional telephony applications (such as ability to create and receive speech calls), a WAP (wireless access protocol) browser, a MMS (multimedia message system) application and support for dial-up networking. All these applications share the same limited network resources.
A problem faced currently is that there are not enough resources to allow different applications to use a network connection simultaneously. Thus, e.g. a user of a mobile terminal must wait—sometimes for several minutes—while the mobile terminal is receiving an MMS message before the user is able to make a voice call.
The prior art teaches having the problem solved manually by the end user. Thus, a user first tries to use an application when another application is running, and if there are not enough resources, the operating system issues an error message to the user, and it is then up to the user to solve the problem. For example, if a user having a Nokia® 9210® communicator is accessing a network server in a first intranet and needs to access a network server in a second intranet, then the user may need to close the existing connection (to the first intranet) before connection creation to the other (second) intranet is possible.
What is needed, therefore, is a way to enable users of mobile terminals to concurrently use multiple applications hosted by the mobile terminals. Ideally, any method enabling concurrent use of different applications is transparent to the user, i.e. the user is not involved in resolving resource contentions and related problems that must be solved to allow the user to run an application when another application is already running.